Migrate to biome and add lint, typecheck to CI#25
Merged
Conversation
Downgrade @types/react and @types/react-dom to ^18.2.0 in experience-editor. Add resolutions in root package.json to force all packages to use React 18 types. Fix TypeScript errors in targetFlow.ts by removing invalid fieldsToShow properties. Update moduleResolution to 'bundler' and add skipLibCheck to fix Vite type issues. All typecheck errors now resolved.
Install @biomejs/biome v2.2.6 as devDependency. Create biome.json configuration matching existing ESLint and Prettier rules: - Formatting: 80 char width, semicolons, double quotes, 2 space indent, trailing commas - Linting: recommended rules with customizations for React/TypeScript - Disable strict rules for any, forEach, non-null assertions - Special rules for test and story files
Apply Biome formatting and linting fixes across the entire codebase. Organize imports, fix unused imports, and apply consistent code style.
Remove ESLint and Prettier configuration files: - Delete .eslintrc.js, .eslintignore - Delete .prettierrc.json, .prettierignore Update package.json scripts to use Biome: - lint: biome check . - lint:fix: biome check --write . - format: biome format --write . Update .lintstagedrc.json to run Biome on pre-commit.
Add quality checks to CI workflow: - Lint step: runs Biome linter on all source files - Type check step: runs TypeScript type checking across all packages Update .github/CI.md documentation: - Document new lint and typecheck steps - Add instructions for running checks locally - Include lint:fix command for auto-fixing issues Closes #24
Fix 11 linting errors across 6 files: - Remove useless empty fragment in formBuilder - Remove unused function parameter (spacing) in messaging component - Fix comma operator in useEffect dependency array - Remove unused variable (position) in selectMultiple - Add useId hooks for TextField components to avoid hardcoded IDs - Add missing key prop in map iteration - Add type annotations for implicit any variables - Remove unreachable return statement - Escape // in JSX to avoid comment interpretation Lint now passes with only 1 non-blocking warning about document.cookie.
Add es2022 and dom to lib in tsconfig to support Object.hasOwn method used in objects.ts. This fixes typecheck errors while maintaining es5 as the compile target.
ashyablok
approved these changes
Oct 23, 2025
teijas
approved these changes
Oct 23, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #24
This pull request migrates the project from ESLint and Prettier to Biome for linting and formatting, updates the continuous integration workflow to use Biome and TypeScript type checking, and standardizes TypeScript types and dependencies across packages. It also improves import ordering and code style consistency in several files.
Migration to Biome (Linting & Formatting):
biome.jsonconfiguration file and Biome as a dev dependency inpackage.json, specifying formatting, linting, and ignore rules.package.jsonand.lintstagedrc.json, removing related config and ignore files (.eslintrc.js,.eslintignore,.prettierrc.json,.prettierignore).Continuous Integration Workflow Updates:
.github/workflows/ci.ymlto run Biome linting and TypeScript type checking before tests and build..github/CI.mdto document the new CI steps and local development commands, replacing ESLint/Prettier references with Biome and typecheck steps.TypeScript and Dependency Standardization:
@types/reactand@types/react-domto version^18.2.0in both root andexperience-editorpackage dependencies.These changes modernize the project's code quality tooling, improve developer experience, and ensure consistent formatting and type safety across the codebase.